import axios from "axios"

let service = axios.create(
    {
        timeout: 10 * 1000,//设置请求超时时间
        baseURL: "/api" //请求地址的基准路径
    }
)
// 设置请求拦截器
service.interceptors.request.use(
    (config) => { //请求发出前的回调函数，比如可以设置请求头
        //统一设置请求头
        config.headers["token"] = "";
        return config //一定要return 不然请求发布出去
    },
    (error) => {//请求发出前，发生错误的回调函数
        return Promise.reject(error)
    }
)

// 设置响应拦截器
service.interceptors.response.use(
    (res) => {//请求从服务器返回前会自动执行的回调函数
        return res //一定要return 不然接收不到响应
    },
    (error) => {//请求返回前，发生错误执行的回调函数
        if (error.response.status == 401) {
            console.log("身份认证过期，请重新登录")
        }
        else if (error.response.status == 404) {
            console.log("访问路径有误")
        }
        else if (error.response.status == 500) {
            console.log("服务器内部错误")
        }
    }
)
// 抛出，发请求时必须使用实例化的这个service，就可以自动设置请求头，拦截器
export default service